package ucla.encuestaMatic.vista.ventanas;

import java.io.File;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import nextapp.echo2.app.Column;
import nextapp.echo2.app.layout.GridLayoutData;

import ucla.encuestaMatic.controlador.interfaces.IServicioAdministracionReporteResumenEncuesta;
import ucla.encuestaMatic.modelo.beans.OpcionPreguntaResumenEncuesta;
import ucla.encuestaMatic.modelo.beans.PreguntaResumenEncuesta;
import ucla.encuestaMatic.modelo.data.Encuesta;

import com.obelisco.exception.ObeliscoException;
import com.obelisco.vista.componentes.ContenedorReporte;
import com.obelisco.vista.controles.Grid;
import com.obelisco.vista.controles.Label;
import com.obelisco.vista.controles.SelectField;
import com.obelisco.vista.herramientas.ImpresionUtils;

public class PaneReporteResumenEncuesta extends ContenedorReporte {

	private IServicioAdministracionReporteResumenEncuesta servicioAdministracionReporteResumenEncuesta;
	
	private SelectField cmbEncuesta;
	
	private void initComponents() {
		this.removeAll();
		
		Grid grid = new Grid();
		grid.setStyleName("Obelisco.GridPaneDialogo");
		grid.setSize(2); //Numero de columnas de la tabla
		
		// Encuesta
		Label lblEncuesta = new Label("Encuesta");
		grid.add(lblEncuesta);
		this.cmbEncuesta = new SelectField(300);
		grid.add(this.cmbEncuesta);
		
		Column column = new Column();
		column.add(grid);
		
		this.add(column);
	}
	
	private void cargarCombosYListas() {
		List<Encuesta> encuestas = this.servicioAdministracionReporteResumenEncuesta.buscarEncuestas();
		this.cmbEncuesta.inicializarDatos(encuestas, "nombre", "idEncuesta");
	}
	
	@Override
	public Map extraerParametros() {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public List obtenerLista() {
		List<OpcionPreguntaResumenEncuesta> resumenEncuesta = this.servicioAdministracionReporteResumenEncuesta.buscarResumenEncuesta((Encuesta)this.cmbEncuesta.getSelectedItem());
		return resumenEncuesta;
	}

	@Override
	public boolean onValidarDatos() {
		if (this.cmbEncuesta.getSelectedItem() == null) {
			throw new ObeliscoException("DEBE SELECCIONAR UNA ENCUESTA.<br>");
		}
		return true;
	}

	@Override
	public String rutaArchivoReporte() {
		return "WEB-INF"+File.separator+"reportes"+File.separator+"reporteResumenEncuesta.jasper";
	}

	@Override
	public void inicializar() {
		this.initComponents();
		this.cargarCombosYListas();
	}

	@Override
	public List realizarBusqueda() {
		// TODO Auto-generated method stub
		return null;
	}

	// Getter y Setter
	public IServicioAdministracionReporteResumenEncuesta getServicioAdministracionReporteResumenEncuesta() {
		return servicioAdministracionReporteResumenEncuesta;
	}

	public void setServicioAdministracionReporteResumenEncuesta(
			IServicioAdministracionReporteResumenEncuesta servicioAdministracionReporteResumenEncuesta) {
		this.servicioAdministracionReporteResumenEncuesta = servicioAdministracionReporteResumenEncuesta;
	}

}
